//
//  PAContextMenuVC.m
//  iCon
//
//  Created by leon on 2018/11/23.
//  Copyright © 2018年 leon. All rights reserved.
//

#import "PAContextMenuVC.h"
#import "LQLRTableView.h"
#import "PAMenu.h"
@interface PAContextMenuVC ()<LQLRTableViewDataSource, LQLRTableViewDelegate>
@property (weak, nonatomic) LQLRTableView *lrTableView;

@end

@implementation PAContextMenuVC

- (void)viewDidLoad {
    [super viewDidLoad];
    // 添加左右tableView的控件
    LQLRTableView *lrTableView = [LQLRTableView lrTableView];
    lrTableView.frame = self.view.bounds;
    lrTableView.dataSource = self;
    lrTableView.delegate = self;
    self.lrTableView = lrTableView;
    [self.view addSubview:lrTableView];
}

- (NSInteger)numberOfRowsInLeftTableViewWithLQLRTableView:(LQLRTableView *)lrTableView {
    
    
    return _categories.count;
}

- (NSString *)lrTableView:(LQLRTableView *)lrTableView leftTitleInRow:(NSInteger)row {
    
     PAMenu *menu = (PAMenu *)_categories[row];
    //return [NSString stringWithFormat:@"%@->%@",menu.label,menu.eventId];
     return menu.label;
}

- (NSArray *)lrTableView:(LQLRTableView *)lrTableView centerDataOfRow:(NSInteger)row {
    PAMenu *menu = (PAMenu *)_categories[row];
    return menu.submenu;
}

- (NSArray *)lrTableView:(LQLRTableView *)lrTableView rightDataOfRow:(NSInteger)row {
    NSInteger idx = lrTableView.currentLeftIndex;
    PAMenu *menu = _categories[idx];
    PAMenu *submenu  = menu.submenu[row];
    return  submenu.submenu;
}

-(BOOL)lrTableView:(LQLRTableView *)lrTableView submenusForRow:(NSInteger)row {
    PAMenu *menu = (PAMenu *)_categories[row];
    
    return menu.submenu!=nil;
}

-(BOOL)lrTableView:(LQLRTableView *)lrTableView leftCheckedforRow:(NSInteger)row{
    PAMenu *menu = (PAMenu *)_categories[row];
    
    return menu.checked == 1 ;
    
}

-(BOOL)lrTableView:(LQLRTableView *)lrTableView leftenabledforRow:(NSInteger)row {
    PAMenu *menu = (PAMenu *)_categories[row];
    return menu.enabled == 1 ;
}

- (void)lrTableView:(LQLRTableView *)lrTableView selectedLeftIndex:(NSInteger)leftIndex{
    PAMenu *category = _categories[leftIndex];
    // 2.判断是否有子类别
    if (!category.submenu) {
        // 2.1.通知携带的信息
        NSDictionary *userInfo = @{LQCategoryDidChangeNotificationCategoryKey : category};
        
        // 2.2.发出通知
        [[NSNotificationCenter defaultCenter] postNotificationName:LQCategoryDidChangeNotification object:nil userInfo:userInfo];
        
    }
}
- (void)lrTableView:(LQLRTableView *)lrTableView selectedLeftIndex:(NSInteger)leftIndex andCenterIndex:(NSInteger)centerIndex{
     PAMenu *category = _categories[leftIndex];
    PAMenu *centerMenu =  category.submenu[centerIndex];
    if (!centerMenu.submenu) {
        // 2.1.通知携带的信息
        NSDictionary *userInfo = @{LQCategoryDidChangeNotificationCategoryKey : centerMenu};
        
        // 2.2.发出通知
        [[NSNotificationCenter defaultCenter] postNotificationName:LQCategoryDidChangeNotification object:nil userInfo:userInfo];
        
    }
    
}
- (void)lrTableView:(LQLRTableView *)lrTableView selectedLeftIndex:(NSInteger)leftIndex andCenterIndex:(NSInteger)centerIndex andRightIndex:(NSInteger)rightIndex{
    PAMenu *category = _categories[leftIndex];
    PAMenu *centerMenu =  category.submenu[centerIndex];
    PAMenu *rightMenu =  centerMenu.submenu[rightIndex];
    if (!rightMenu.submenu) {
        // 2.1.通知携带的信息
        NSDictionary *userInfo = @{LQCategoryDidChangeNotificationCategoryKey : rightMenu};
        
        // 2.2.发出通知
        [[NSNotificationCenter defaultCenter] postNotificationName:LQCategoryDidChangeNotification object:nil userInfo:userInfo];
        
    }else{
        // TODO
        [CRToastManager showNotificationWithMessage:@"Did not Support this menu yet!" completionBlock:^{
            
        }];
    }
}

-(void)setCategories:(NSArray *)categories{
    _categories = categories;
//    [self.lrTableView reoadData];
    
}
@end
